1. Technical Field
The present invention relates in general to data storage systems, and in particular to implementing a data storage system backup. More particularly, the present invention relates to a system and method for capturing a comprehensive point-in-time image of file system user and meta data within a data storage subsystem.
2. Description of the Related Art
Maintaining backup copies of data is necessary. Potential sources of data loss necessitating data backups include hardware failure in the disk drive devices, undetected memory error corrupting data, system power loss, software bugs or viruses, accidental user deletion of data, etc. The nature of any given application greatly influences the frequency with which backups must be taken. In situations where data is subject to frequent changes, backup copies are made with a frequency determined as a function of the complexity of recovery. Often, in today""s real time environments, multiple copies of data are simultaneously maintained to avoid, or at least reduce, down time associated with data recovery after an incident resulting in processing interruptions. Users are interested in testing the effects of data changes without incapacitating or halting routine operations. To that end, various techniques are taught in the prior art, ranging from total duplicate systems to duplicate files to mirrored disks to mirrored logical volumes within a system.
Mirroring is a common method employed within logical volume storage environments to maintain multiple copies of data wherein two or more copies of data are stored on two or more different disks. When mirroring is used for a logical volume, additional physical blocks are allocated for storing additional copies of each logical block. When logical volumes have mirrored copies, each mirrored logical volume has one of two states, available and stale. Only blocks which are available are allowed to be read from or written to. Data storage operating systems typically include commands for copying data from an available mirror to a stale mirror and subsequently change the state of the stale block to available.
A logical volume manager (LVM) is included in the Advanced Interactive eXecutive (AIX) operating system from International Business Machines Corp. As utilized herein, a xe2x80x9clogical volume managerxe2x80x9d is any operating system that enables online disk storage management by adding a virtualization layer between the physical disks and applications users of the disk space such as a file system. A volume manager virtual device, referred to herein as a logical volume, maps a contiguous logical address space to a discontiguous physical disk address space.
An LVM, such as AIX LVM, uses a hierarchy of structures to manage fixed-disk storage. Each individual fixed-disk drive, called a physical volume (PV) has a name, such as/dev/hdisk0. Every physical volume in use belongs to a volume group (VG). All of the physical volumes in a volume group are divided into physical blocks of the same size. The number of physical blocks on each disk varies with the total capacity of the disk drive.
Within each volume group, one or more logical volumes are defined. Logical volumes are groups of information located on physical volumes. Data on logical volumes appears to be contiguous to the user but can be discontiguous on the physical volume. This allows file systems, paging space, and other logical volumes to be resized or relocated, span multiple physical volumes, and have their contents replicated for greater flexibility and availability in the storage of data. Logical volumes can serve a number of system purposes, such as paging, raw data, or contain a single file system.
Each logical volume consists of one or more logical blocks. Each logical block corresponds to at least one physical block. If mirroring is specified for the logical volume, additional physical blocks are allocated to store the additional copies of each logical block. Although the logical blocks are numbered consecutively, the underlying physical blocks are not necessarily consecutive or contiguous.
For logical volumes having mirrored copies, each block of the mirror can have two states, available and stale. Data may be read from any available mirrored block. Data must be written to all available mirrored blocks before returning from a write operation, and only blocks that are marked as available may be read from or written to. An AIX command such as syncvg may be utilized to copy information from an available mirror to the stale mirror and then change a block marked as stale to available.
There are occasions when users want an instant snapshot (i.e. a copy at a specified point in time) of data on a mirrored logical volume. The user may want to simply backup the data; or it may be desired to make changes to the data, run an application, and evaluate the results. The user may then choose to eliminate the changes and restore the original data.
In addition to the considerable time and processing bandwidth consumed during a backup of LVM data storage subsystems, obtaining an accurate, comprehensive point-in-time backup of the file system is problematic. Most disk array systems (e.g. RAIDs) employ disk copy mechanisms such as xe2x80x9cflash copyxe2x80x9d or xe2x80x9cdisk splitxe2x80x9d in which the contents of the disks (i.e. raw logical volumes) are copied to a spare set of disks to obtain a xe2x80x9csnapshotxe2x80x9d of the data storage contents at any given time. Such hardware backup mechanisms only capture data that has been written or copied to the actual physical storage devices or physical xe2x80x9cvolumesxe2x80x9d.
Cache buffering of in-transit data is common in most data storage subsystems particularly for WRITE data. Prior to being written to the physical disks, the buffered data is unavailable to the disk copy backup mechanisms, resulting in an incomplete recordation of the true data storage contents. Furthermore, the meta data generated by the resident file system application in association with user data is also often buffered and hence intermittently unavailable for hardware backup between buffer destage synch times. In addition to the cache buffering of user and meta data, the sheer I/O volume and file system complexity of large scale LVM data storage systems further hampers a system administrator""s ability to obtain a valid simultaneous backup of file system data.
It can therefore be appreciated that a need exists for an LVM mechanism enhanced to facilitate a valid point-in-time backup of data stored within a multi-disk volume group. The present invention addresses such a need by implementing a system and method which leverage the fault tolerance features inherent in journaled file systems to provide enhanced on-line or off-line hard disk backup capabilities.
A system and method are disclosed herein for capturing a point-in-time image of a file system utilized within a data storage system employing logical volumes mapped across physical volumes. The point-in-time backup process begins with receipt of a file system backup request. In response to receiving the file system backup request, buffered file system data is written or flushed to the logical volumes. Specifically, in response to the file system backup request, buffered user data is written to the logical volumes, buffered meta data associated with the buffered user data is written to a file system backup log within the logical volumes, and the buffered meta data is written to the logical volumes. A disk copy of the designated physical volumes is initiated in response to the writing of the buffered file system data to the logical volumes.
All objects, features, and advantages of the present invention will become apparent in the following detailed written description.